对象关系映射(简称 ORM):一种把面向对象程序中的“对象/类”(如 User、Order)与关系型数据库中的“表/行”(如 users 表、某一行记录)进行对应的技术或方法,使开发者可以用对象操作的方式来进行数据库的增删改查,而不必手写大量 SQL。常见 ORM 框架有 Hibernate、Entity Framework、SQLAlchemy、Django ORM 等。
/ˈɒbdʒekt rɪˈleɪʃənəl ˈmæpɪŋ/
I use object-relational mapping to save users to the database.
我用对象关系映射把用户数据保存到数据库里。
Object-relational mapping can speed up development, but if you ignore how SQL is generated, it may lead to slow queries and hard-to-debug performance issues.
对象关系映射可以加快开发速度,但如果忽视它生成的 SQL 细节,可能会造成查询变慢以及难以排查的性能问题。
该术语由三部分组成:object(对象,面向对象编程中的实体)、relational(关系型的,指关系数据库模型)、mapping(映射/对应关系)。合起来强调“把对象世界与关系数据库世界建立对应关系”的思想。20 世纪后期随着企业级应用与关系数据库普及而流行,并常与“阻抗不匹配(object-relational impedance mismatch)”这一问题讨论在一起。